[INFO] cloning repository https://github.com/ljs958/my_os
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ljs958/my_os" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fljs958%2Fmy_os", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fljs958%2Fmy_os'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 80e6d1782fd92f554755acfdad132ffb25c4cbb2
[INFO] fixing ljs958/my_os against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fljs958%2Fmy_os" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ljs958/my_os
[INFO] finished tweaking git repo https://github.com/ljs958/my_os
[INFO] tweaked toml for git repo https://github.com/ljs958/my_os written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ljs958/my_os on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ljs958/my_os already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 813f69314352eaaf7f8aa6f888177cf1b6f05db866c600b9c3bca481695ae5fc
[INFO] running `Command { std: "docker" "start" "813f69314352eaaf7f8aa6f888177cf1b6f05db866c600b9c3bca481695ae5fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "813f69314352eaaf7f8aa6f888177cf1b6f05db866c600b9c3bca481695ae5fc" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "813f69314352eaaf7f8aa6f888177cf1b6f05db866c600b9c3bca481695ae5fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "813f69314352eaaf7f8aa6f888177cf1b6f05db866c600b9c3bca481695ae5fc" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]     Checking ljs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected item, found `-`
[INFO] [stdout]   --> src/bin/mutex.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 70 | ---------------------------------------------------------------------------------------------
[INFO] [stdout]    | ^ expected item
[INFO] [stdout]    |
[INFO] [stdout]    = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `atomic_wait`
[INFO] [stdout]  --> src/bin/Condvar.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use atomic_wait::{wait, wake_one, wake_all};
[INFO] [stdout]   |     ^^^^^^^^^^^ use of unresolved module or unlinked crate `atomic_wait`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `atomic_wait`, use `cargo add atomic_wait` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `atomic_wait`
[INFO] [stdout]  --> src/bin/rwLock.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use atomic_wait::{wait, wake_all, wake_one};
[INFO] [stdout]   |     ^^^^^^^^^^^ use of unresolved module or unlinked crate `atomic_wait`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `atomic_wait`, use `cargo add atomic_wait` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ljs` (bin "mutex" test) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0601]: `main` function not found in crate `rwLock`
[INFO] [stdout]    --> src/bin/rwLock.rs:147:2
[INFO] [stdout]     |
[INFO] [stdout] 147 | }
[INFO] [stdout]     |  ^ consider adding a `main` function to `src/bin/rwLock.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0601.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0601]: `main` function not found in crate `Condvar`
[INFO] [stdout]    --> src/bin/Condvar.rs:134:2
[INFO] [stdout]     |
[INFO] [stdout] 134 | }
[INFO] [stdout]     |  ^ consider adding a `main` function to `src/bin/Condvar.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `ArcData` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:214:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | struct ArcData<T> {
[INFO] [stdout]     | ----------------- previous definition of the type `ArcData` here
[INFO] [stdout] ...
[INFO] [stdout] 214 | struct ArcData<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `ArcData` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ArcData` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `Arc` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:228:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | pub struct Arc<T> {
[INFO] [stdout]     | ----------------- previous definition of the type `Arc` here
[INFO] [stdout] ...
[INFO] [stdout] 228 | pub struct Arc<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `Arc` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Arc` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `Weak` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:233:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | pub struct Weak<T> {
[INFO] [stdout]     | ------------------ previous definition of the type `Weak` here
[INFO] [stdout] ...
[INFO] [stdout] 233 | pub struct Weak<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ `Weak` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Weak` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0601]: `main` function not found in crate `spinlock`
[INFO] [stdout]   --> src/bin/spinlock.rs:63:2
[INFO] [stdout]    |
[INFO] [stdout] 63 | }
[INFO] [stdout]    |  ^ consider adding a `main` function to `src/bin/spinlock.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `UnsafeCell` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use std::cell::UnsafeCell;
[INFO] [stdout]     |     --------------------- previous import of the type `UnsafeCell` here
[INFO] [stdout] ...
[INFO] [stdout] 203 | use std::cell::UnsafeCell;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^ `UnsafeCell` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UnsafeCell` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Deref` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout]   8 | use std::ops::Deref;
[INFO] [stdout]     |     --------------- previous import of the trait `Deref` here
[INFO] [stdout] ...
[INFO] [stdout] 205 | use std::ops::Deref;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ `Deref` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Deref` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `NonNull` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout]   2 | use std::ptr::NonNull;
[INFO] [stdout]     |     ----------------- previous import of the type `NonNull` here
[INFO] [stdout] ...
[INFO] [stdout] 206 | use std::ptr::NonNull;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ `NonNull` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NonNull` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `AtomicUsize` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout]   4 |     AtomicUsize,
[INFO] [stdout]     |     ----------- previous import of the type `AtomicUsize` here
[INFO] [stdout] ...
[INFO] [stdout] 208 |     AtomicUsize,
[INFO] [stdout]     |     ^^^^^^^^^^^-
[INFO] [stdout]     |     |
[INFO] [stdout]     |     `AtomicUsize` reimported here
[INFO] [stdout]     |     help: remove unnecessary import
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AtomicUsize` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Acquire` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:209:16
[INFO] [stdout]     |
[INFO] [stdout]   5 |     Ordering::{Acquire, Release, Relaxed},
[INFO] [stdout]     |                ------- previous import of the type `Acquire` here
[INFO] [stdout] ...
[INFO] [stdout] 209 |     Ordering::{Acquire, Release, Relaxed},
[INFO] [stdout]     |                ^^^^^^^--
[INFO] [stdout]     |                |
[INFO] [stdout]     |                `Acquire` reimported here
[INFO] [stdout]     |                help: remove unnecessary import
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Acquire` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Release` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout]   5 |     Ordering::{Acquire, Release, Relaxed},
[INFO] [stdout]     |                         ------- previous import of the type `Release` here
[INFO] [stdout] ...
[INFO] [stdout] 209 |     Ordering::{Acquire, Release, Relaxed},
[INFO] [stdout]     |                         ^^^^^^^--
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `Release` reimported here
[INFO] [stdout]     |                         help: remove unnecessary import
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Release` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Relaxed` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:209:34
[INFO] [stdout]     |
[INFO] [stdout]   5 |     Ordering::{Acquire, Release, Relaxed},
[INFO] [stdout]     |                                  ------- previous import of the type `Relaxed` here
[INFO] [stdout] ...
[INFO] [stdout] 209 |     Ordering::{Acquire, Release, Relaxed},
[INFO] [stdout]     |                                  ^^^^^^^ `Relaxed` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relaxed` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `fence` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:210:5
[INFO] [stdout]     |
[INFO] [stdout]   6 |     fence,
[INFO] [stdout]     |     ----- previous import of the value `fence` here
[INFO] [stdout] ...
[INFO] [stdout] 210 |     fence,
[INFO] [stdout]     |     ^^^^^-
[INFO] [stdout]     |     |
[INFO] [stdout]     |     `fence` reimported here
[INFO] [stdout]     |     help: remove unnecessary import
[INFO] [stdout]     |
[INFO] [stdout]     = note: `fence` must be defined only once in the value namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ljs` (bin "rwLock") due to 2 previous errors
[INFO] [stdout] error[E0432]: unresolved import `atomic_wait`
[INFO] [stdout]  --> src/bin/Condvar.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use atomic_wait::{wait, wake_one, wake_all};
[INFO] [stdout]   |     ^^^^^^^^^^^ use of unresolved module or unlinked crate `atomic_wait`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `atomic_wait`, use `cargo add atomic_wait` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0601`.
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `atomic_wait`
[INFO] [stdout]  --> src/bin/rwLock.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use atomic_wait::{wait, wake_all, wake_one};
[INFO] [stdout]   |     ^^^^^^^^^^^ use of unresolved module or unlinked crate `atomic_wait`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `atomic_wait`, use `cargo add atomic_wait` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ljs` (bin "channel" test) due to 1 previous error
[INFO] [stdout] warning: unused import: `std::cell::UnsafeCell`
[INFO] [stdout]    --> src/bin/Arc.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 | use std::cell::UnsafeCell;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]    --> src/bin/Arc.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 | use std::ops::Deref;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::NonNull`
[INFO] [stdout]    --> src/bin/Arc.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout] 206 | use std::ptr::NonNull;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Acquire`, `AtomicUsize`, `Relaxed`, `Release`, and `fence`
[INFO] [stdout]    --> src/bin/Arc.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     AtomicUsize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 209 |     Ordering::{Acquire, Release, Relaxed},
[INFO] [stdout]     |                ^^^^^^^  ^^^^^^^  ^^^^^^^
[INFO] [stdout] 210 |     fence,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected item, found `-`
[INFO] [stdout]   --> src/bin/channel.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | --------------------------------------------------------------
[INFO] [stdout]    | ^ expected item
[INFO] [stdout]    |
[INFO] [stdout]    = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected item, found `-`
[INFO] [stdout]   --> src/bin/channel.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | --------------------------------------------------------------
[INFO] [stdout]    | ^ expected item
[INFO] [stdout]    |
[INFO] [stdout]    = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0601.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error: expected item, found `-`
[INFO] [stdout]   --> src/bin/mutex.rs:70:1
[INFO] [stdout]    |
[INFO] [stdout] 70 | ---------------------------------------------------------------------------------------------
[INFO] [stdout]    | ^ expected item
[INFO] [stdout]    |
[INFO] [stdout]    = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `Drop` for type `Arc<_>`
[INFO] [stdout]    --> src/bin/Arc.rs:343:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl<T> Drop for Arc<T> {
[INFO] [stdout]     | ----------------------- first implementation here
[INFO] [stdout] ...
[INFO] [stdout] 343 | impl<T> Drop for Arc<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Arc<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `Drop` for type `Weak<_>`
[INFO] [stdout]    --> src/bin/Arc.rs:410:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | impl<T> Drop for Weak<T> {
[INFO] [stdout]     | ------------------------ first implementation here
[INFO] [stdout] ...
[INFO] [stdout] 410 | impl<T> Drop for Weak<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Weak<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `Send` for type `Weak<_>`
[INFO] [stdout]    --> src/bin/Arc.rs:239:1
[INFO] [stdout]     |
[INFO] [stdout]  34 | unsafe impl<T: Send + Sync> Send for Weak<T> {}
[INFO] [stdout]     | -------------------------------------------- first implementation here
[INFO] [stdout] ...
[INFO] [stdout] 239 | unsafe impl<T: Send + Sync> Send for Weak<T> {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Weak<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `Sync` for type `Weak<_>`
[INFO] [stdout]    --> src/bin/Arc.rs:240:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | unsafe impl<T: Send + Sync> Sync for Weak<T> {}
[INFO] [stdout]     | -------------------------------------------- first implementation here
[INFO] [stdout] ...
[INFO] [stdout] 240 | unsafe impl<T: Send + Sync> Sync for Weak<T> {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Weak<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `Deref` for type `Arc<_>`
[INFO] [stdout]    --> src/bin/Arc.rs:318:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl<T> Deref for Arc<T> {
[INFO] [stdout]     | ------------------------ first implementation here
[INFO] [stdout] ...
[INFO] [stdout] 318 | impl<T> Deref for Arc<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Arc<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `Clone` for type `Arc<_>`
[INFO] [stdout]    --> src/bin/Arc.rs:328:1
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl<T> Clone for Arc<T> {
[INFO] [stdout]     | ------------------------ first implementation here
[INFO] [stdout] ...
[INFO] [stdout] 328 | impl<T> Clone for Arc<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Arc<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `Clone` for type `Weak<_>`
[INFO] [stdout]    --> src/bin/Arc.rs:395:1
[INFO] [stdout]     |
[INFO] [stdout] 167 | impl<T> Clone for Weak<T> {
[INFO] [stdout]     | ------------------------- first implementation here
[INFO] [stdout] ...
[INFO] [stdout] 395 | impl<T> Clone for Weak<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Weak<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `new`
[INFO] [stdout]    --> src/bin/Arc.rs:39:5
[INFO] [stdout]     |
[INFO] [stdout]  39 |     pub fn new(data: T) -> Arc<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `new`
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn new(data: T) -> Arc<T> {
[INFO] [stdout]     |     ----------------------------- other definition for `new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `downgrade`
[INFO] [stdout]    --> src/bin/Arc.rs:52:5
[INFO] [stdout]     |
[INFO] [stdout]  52 |     pub fn downgrade(arc: &Self) -> Weak<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `downgrade`
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn downgrade(arc: &Self) -> Weak<T> {
[INFO] [stdout]     |     --------------------------------------- other definition for `downgrade`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `get_mut`
[INFO] [stdout]    --> src/bin/Arc.rs:57:5
[INFO] [stdout]     |
[INFO] [stdout]  57 |     pub fn get_mut(arc: &mut Self) -> Option<&mut T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `get_mut`
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub fn get_mut(arc: &mut Self) -> Option<&mut T> {
[INFO] [stdout]     |     ------------------------------------------------ other definition for `get_mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `data`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `data`
[INFO] [stdout] ...
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ----------------------------- other definition for `data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `upgrade`
[INFO] [stdout]    --> src/bin/Arc.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn upgrade(&self) -> Option<Arc<T>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `upgrade`
[INFO] [stdout] ...
[INFO] [stdout] 372 |     pub fn upgrade(&self) -> Option<Arc<T>> {
[INFO] [stdout]     |     --------------------------------------- other definition for `upgrade`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ljs` (bin "channel") due to 1 previous error
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:59:21
[INFO] [stdout]     |
[INFO] [stdout]  59 |         if arc.weak.data().alloc_ref_count.load(Relaxed) == 1 {
[INFO] [stdout]     |                     ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:78:29
[INFO] [stdout]     |
[INFO] [stdout]  78 |         let ptr = self.weak.data().data.get();
[INFO] [stdout]     |                             ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:92:14
[INFO] [stdout]     |
[INFO] [stdout]  92 |             .data()
[INFO] [stdout]     |              ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:109:14
[INFO] [stdout]     |
[INFO] [stdout] 109 |             .data()
[INFO] [stdout]     |              ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:116:33
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let ptr = self.weak.data().data.get();
[INFO] [stdout]     |                                 ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:135:26
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let mut n = self.data().data_ref_count.load(Relaxed);
[INFO] [stdout]     |                          ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:146:24
[INFO] [stdout]     |
[INFO] [stdout] 146 |             match self.data().data_ref_count.compare_exchange_weak(
[INFO] [stdout]     |                        ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:170:14
[INFO] [stdout]     |
[INFO] [stdout] 170 |             .data()
[INFO] [stdout]     |              ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:185:14
[INFO] [stdout]     |
[INFO] [stdout] 185 |             .data()
[INFO] [stdout]     |              ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `Arc<T>` has no field named `ptr`
[INFO] [stdout]    --> src/bin/Arc.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 246 |             ptr: NonNull::from(Box::leak(Box::new(ArcData {
[INFO] [stdout]     |             ^^^ `Arc<_>` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `weak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ljs` (bin "Condvar") due to 2 previous errors
[INFO] [stderr] error: could not compile `ljs` (bin "mutex") due to 1 previous error
[INFO] [stderr] error: could not compile `ljs` (bin "spinlock") due to 1 previous error
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/bin/Arc.rs:249:39
[INFO] [stdout]     |
[INFO] [stdout] 249 |                 data: UnsafeCell::new(ManuallyDrop::new(data)),
[INFO] [stdout]     |                       --------------- ^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<_>`, found `ManuallyDrop<T>`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<_>`
[INFO] [stdout]              found struct `ManuallyDrop<T>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2346:17
[INFO] [stdout] help: try wrapping the expression in `Some`
[INFO] [stdout]     |
[INFO] [stdout] 249 |                 data: UnsafeCell::new(Some(ManuallyDrop::new(data))),
[INFO] [stdout]     |                                       +++++                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/Arc.rs:256:18
[INFO] [stdout]     |
[INFO] [stdout] 256 |         unsafe { self.ptr.as_ref() }
[INFO] [stdout]     |                  ^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/Arc.rs:261:21
[INFO] [stdout]     |
[INFO] [stdout] 261 |         let mut n = arc.data().alloc_ref_count.load(Relaxed);
[INFO] [stdout]     |                     ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/Arc.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 289 |         if arc
[INFO] [stdout]     |            ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/Arc.rs:324:20
[INFO] [stdout]     |
[INFO] [stdout] 324 |         unsafe { &*self.data().data.get() }
[INFO] [stdout]     |                    ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/Arc.rs:330:12
[INFO] [stdout]     |
[INFO] [stdout] 330 |         if self
[INFO] [stdout]     |            ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `Arc<T>` has no field named `ptr`
[INFO] [stdout]    --> src/bin/Arc.rs:339:15
[INFO] [stdout]     |
[INFO] [stdout] 339 |         Arc { ptr: self.ptr }
[INFO] [stdout]     |               ^^^ `Arc<_>` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `weak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/Arc.rs:346:12
[INFO] [stdout]     |
[INFO] [stdout] 346 |         if self
[INFO] [stdout]     |            ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:373:26
[INFO] [stdout]     |
[INFO] [stdout] 373 |         let mut n = self.data().data_ref_count.load(Relaxed);
[INFO] [stdout]     |                          ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:382:24
[INFO] [stdout]     |
[INFO] [stdout] 382 |             match self.data().data_ref_count.compare_exchange_weak(
[INFO] [stdout]     |                        ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `Arc<T>` has no field named `ptr`
[INFO] [stdout]    --> src/bin/Arc.rs:388:44
[INFO] [stdout]     |
[INFO] [stdout] 388 |                 Ok(_) => return Some(Arc { ptr: self.ptr }),
[INFO] [stdout]     |                                            ^^^ `Arc<_>` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `weak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:398:14
[INFO] [stdout]     |
[INFO] [stdout] 398 |             .data()
[INFO] [stdout]     |              ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:413:14
[INFO] [stdout]     |
[INFO] [stdout] 413 |             .data()
[INFO] [stdout]     |              ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0034, E0119, E0252, E0282, E0308, E0428, E0560, E0592.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0034`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `ArcData` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:214:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | struct ArcData<T> {
[INFO] [stdout]     | ----------------- previous definition of the type `ArcData` here
[INFO] [stdout] ...
[INFO] [stdout] 214 | struct ArcData<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `ArcData` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ArcData` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `Arc` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:228:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | pub struct Arc<T> {
[INFO] [stdout]     | ----------------- previous definition of the type `Arc` here
[INFO] [stdout] ...
[INFO] [stdout] 228 | pub struct Arc<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `Arc` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Arc` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `Weak` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:233:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | pub struct Weak<T> {
[INFO] [stdout]     | ------------------ previous definition of the type `Weak` here
[INFO] [stdout] ...
[INFO] [stdout] 233 | pub struct Weak<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^ `Weak` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Weak` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ljs` (bin "Condvar" test) due to 1 previous error
[INFO] [stdout] error[E0252]: the name `UnsafeCell` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout]   1 | use std::cell::UnsafeCell;
[INFO] [stdout]     |     --------------------- previous import of the type `UnsafeCell` here
[INFO] [stdout] ...
[INFO] [stdout] 203 | use std::cell::UnsafeCell;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^ `UnsafeCell` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UnsafeCell` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ljs` (bin "Arc" test) due to 46 previous errors; 4 warnings emitted
[INFO] [stdout] error[E0252]: the name `Deref` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout]   8 | use std::ops::Deref;
[INFO] [stdout]     |     --------------- previous import of the trait `Deref` here
[INFO] [stdout] ...
[INFO] [stdout] 205 | use std::ops::Deref;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ `Deref` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Deref` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `NonNull` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout]   2 | use std::ptr::NonNull;
[INFO] [stdout]     |     ----------------- previous import of the type `NonNull` here
[INFO] [stdout] ...
[INFO] [stdout] 206 | use std::ptr::NonNull;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ `NonNull` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NonNull` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `AtomicUsize` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout]   4 |     AtomicUsize,
[INFO] [stdout]     |     ----------- previous import of the type `AtomicUsize` here
[INFO] [stdout] ...
[INFO] [stdout] 208 |     AtomicUsize,
[INFO] [stdout]     |     ^^^^^^^^^^^-
[INFO] [stdout]     |     |
[INFO] [stdout]     |     `AtomicUsize` reimported here
[INFO] [stdout]     |     help: remove unnecessary import
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AtomicUsize` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Acquire` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:209:16
[INFO] [stdout]     |
[INFO] [stdout]   5 |     Ordering::{Acquire, Release, Relaxed},
[INFO] [stdout]     |                ------- previous import of the type `Acquire` here
[INFO] [stdout] ...
[INFO] [stdout] 209 |     Ordering::{Acquire, Release, Relaxed},
[INFO] [stdout]     |                ^^^^^^^--
[INFO] [stdout]     |                |
[INFO] [stdout]     |                `Acquire` reimported here
[INFO] [stdout]     |                help: remove unnecessary import
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Acquire` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Release` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout]   5 |     Ordering::{Acquire, Release, Relaxed},
[INFO] [stdout]     |                         ------- previous import of the type `Release` here
[INFO] [stdout] ...
[INFO] [stdout] 209 |     Ordering::{Acquire, Release, Relaxed},
[INFO] [stdout]     |                         ^^^^^^^--
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `Release` reimported here
[INFO] [stdout]     |                         help: remove unnecessary import
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Release` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ljs` (bin "rwLock" test) due to 1 previous error
[INFO] [stdout] error[E0252]: the name `Relaxed` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:209:34
[INFO] [stdout]     |
[INFO] [stdout]   5 |     Ordering::{Acquire, Release, Relaxed},
[INFO] [stdout]     |                                  ------- previous import of the type `Relaxed` here
[INFO] [stdout] ...
[INFO] [stdout] 209 |     Ordering::{Acquire, Release, Relaxed},
[INFO] [stdout]     |                                  ^^^^^^^ `Relaxed` reimported here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relaxed` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `fence` is defined multiple times
[INFO] [stdout]    --> src/bin/Arc.rs:210:5
[INFO] [stdout]     |
[INFO] [stdout]   6 |     fence,
[INFO] [stdout]     |     ----- previous import of the value `fence` here
[INFO] [stdout] ...
[INFO] [stdout] 210 |     fence,
[INFO] [stdout]     |     ^^^^^-
[INFO] [stdout]     |     |
[INFO] [stdout]     |     `fence` reimported here
[INFO] [stdout]     |     help: remove unnecessary import
[INFO] [stdout]     |
[INFO] [stdout]     = note: `fence` must be defined only once in the value namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::UnsafeCell`
[INFO] [stdout]    --> src/bin/Arc.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 | use std::cell::UnsafeCell;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]    --> src/bin/Arc.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 | use std::ops::Deref;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::NonNull`
[INFO] [stdout]    --> src/bin/Arc.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout] 206 | use std::ptr::NonNull;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Acquire`, `AtomicUsize`, `Relaxed`, `Release`, and `fence`
[INFO] [stdout]    --> src/bin/Arc.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     AtomicUsize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 209 |     Ordering::{Acquire, Release, Relaxed},
[INFO] [stdout]     |                ^^^^^^^  ^^^^^^^  ^^^^^^^
[INFO] [stdout] 210 |     fence,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0601]: `main` function not found in crate `Arc`
[INFO] [stdout]    --> src/bin/Arc.rs:425:2
[INFO] [stdout]     |
[INFO] [stdout] 425 | }
[INFO] [stdout]     |  ^ consider adding a `main` function to `src/bin/Arc.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `Drop` for type `Arc<_>`
[INFO] [stdout]    --> src/bin/Arc.rs:343:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl<T> Drop for Arc<T> {
[INFO] [stdout]     | ----------------------- first implementation here
[INFO] [stdout] ...
[INFO] [stdout] 343 | impl<T> Drop for Arc<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Arc<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `Drop` for type `Weak<_>`
[INFO] [stdout]    --> src/bin/Arc.rs:410:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | impl<T> Drop for Weak<T> {
[INFO] [stdout]     | ------------------------ first implementation here
[INFO] [stdout] ...
[INFO] [stdout] 410 | impl<T> Drop for Weak<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Weak<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `Send` for type `Weak<_>`
[INFO] [stdout]    --> src/bin/Arc.rs:239:1
[INFO] [stdout]     |
[INFO] [stdout]  34 | unsafe impl<T: Send + Sync> Send for Weak<T> {}
[INFO] [stdout]     | -------------------------------------------- first implementation here
[INFO] [stdout] ...
[INFO] [stdout] 239 | unsafe impl<T: Send + Sync> Send for Weak<T> {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Weak<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `Sync` for type `Weak<_>`
[INFO] [stdout]    --> src/bin/Arc.rs:240:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | unsafe impl<T: Send + Sync> Sync for Weak<T> {}
[INFO] [stdout]     | -------------------------------------------- first implementation here
[INFO] [stdout] ...
[INFO] [stdout] 240 | unsafe impl<T: Send + Sync> Sync for Weak<T> {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Weak<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `Deref` for type `Arc<_>`
[INFO] [stdout]    --> src/bin/Arc.rs:318:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl<T> Deref for Arc<T> {
[INFO] [stdout]     | ------------------------ first implementation here
[INFO] [stdout] ...
[INFO] [stdout] 318 | impl<T> Deref for Arc<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Arc<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `Clone` for type `Arc<_>`
[INFO] [stdout]    --> src/bin/Arc.rs:328:1
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl<T> Clone for Arc<T> {
[INFO] [stdout]     | ------------------------ first implementation here
[INFO] [stdout] ...
[INFO] [stdout] 328 | impl<T> Clone for Arc<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Arc<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `Clone` for type `Weak<_>`
[INFO] [stdout]    --> src/bin/Arc.rs:395:1
[INFO] [stdout]     |
[INFO] [stdout] 167 | impl<T> Clone for Weak<T> {
[INFO] [stdout]     | ------------------------- first implementation here
[INFO] [stdout] ...
[INFO] [stdout] 395 | impl<T> Clone for Weak<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Weak<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `new`
[INFO] [stdout]    --> src/bin/Arc.rs:39:5
[INFO] [stdout]     |
[INFO] [stdout]  39 |     pub fn new(data: T) -> Arc<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `new`
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn new(data: T) -> Arc<T> {
[INFO] [stdout]     |     ----------------------------- other definition for `new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `downgrade`
[INFO] [stdout]    --> src/bin/Arc.rs:52:5
[INFO] [stdout]     |
[INFO] [stdout]  52 |     pub fn downgrade(arc: &Self) -> Weak<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `downgrade`
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn downgrade(arc: &Self) -> Weak<T> {
[INFO] [stdout]     |     --------------------------------------- other definition for `downgrade`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `get_mut`
[INFO] [stdout]    --> src/bin/Arc.rs:57:5
[INFO] [stdout]     |
[INFO] [stdout]  57 |     pub fn get_mut(arc: &mut Self) -> Option<&mut T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `get_mut`
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub fn get_mut(arc: &mut Self) -> Option<&mut T> {
[INFO] [stdout]     |     ------------------------------------------------ other definition for `get_mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `data`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `data`
[INFO] [stdout] ...
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ----------------------------- other definition for `data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0592]: duplicate definitions with name `upgrade`
[INFO] [stdout]    --> src/bin/Arc.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn upgrade(&self) -> Option<Arc<T>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `upgrade`
[INFO] [stdout] ...
[INFO] [stdout] 372 |     pub fn upgrade(&self) -> Option<Arc<T>> {
[INFO] [stdout]     |     --------------------------------------- other definition for `upgrade`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:59:21
[INFO] [stdout]     |
[INFO] [stdout]  59 |         if arc.weak.data().alloc_ref_count.load(Relaxed) == 1 {
[INFO] [stdout]     |                     ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:78:29
[INFO] [stdout]     |
[INFO] [stdout]  78 |         let ptr = self.weak.data().data.get();
[INFO] [stdout]     |                             ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:92:14
[INFO] [stdout]     |
[INFO] [stdout]  92 |             .data()
[INFO] [stdout]     |              ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:109:14
[INFO] [stdout]     |
[INFO] [stdout] 109 |             .data()
[INFO] [stdout]     |              ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:116:33
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let ptr = self.weak.data().data.get();
[INFO] [stdout]     |                                 ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:135:26
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let mut n = self.data().data_ref_count.load(Relaxed);
[INFO] [stdout]     |                          ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:146:24
[INFO] [stdout]     |
[INFO] [stdout] 146 |             match self.data().data_ref_count.compare_exchange_weak(
[INFO] [stdout]     |                        ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:170:14
[INFO] [stdout]     |
[INFO] [stdout] 170 |             .data()
[INFO] [stdout]     |              ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:185:14
[INFO] [stdout]     |
[INFO] [stdout] 185 |             .data()
[INFO] [stdout]     |              ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `Arc<T>` has no field named `ptr`
[INFO] [stdout]    --> src/bin/Arc.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 246 |             ptr: NonNull::from(Box::leak(Box::new(ArcData {
[INFO] [stdout]     |             ^^^ `Arc<_>` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `weak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/bin/Arc.rs:249:39
[INFO] [stdout]     |
[INFO] [stdout] 249 |                 data: UnsafeCell::new(ManuallyDrop::new(data)),
[INFO] [stdout]     |                       --------------- ^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<_>`, found `ManuallyDrop<T>`
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `Option<_>`
[INFO] [stdout]              found struct `ManuallyDrop<T>`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2346:17
[INFO] [stdout] help: try wrapping the expression in `Some`
[INFO] [stdout]     |
[INFO] [stdout] 249 |                 data: UnsafeCell::new(Some(ManuallyDrop::new(data))),
[INFO] [stdout]     |                                       +++++                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/Arc.rs:256:18
[INFO] [stdout]     |
[INFO] [stdout] 256 |         unsafe { self.ptr.as_ref() }
[INFO] [stdout]     |                  ^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/Arc.rs:261:21
[INFO] [stdout]     |
[INFO] [stdout] 261 |         let mut n = arc.data().alloc_ref_count.load(Relaxed);
[INFO] [stdout]     |                     ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/Arc.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 289 |         if arc
[INFO] [stdout]     |            ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/Arc.rs:324:20
[INFO] [stdout]     |
[INFO] [stdout] 324 |         unsafe { &*self.data().data.get() }
[INFO] [stdout]     |                    ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/Arc.rs:330:12
[INFO] [stdout]     |
[INFO] [stdout] 330 |         if self
[INFO] [stdout]     |            ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `Arc<T>` has no field named `ptr`
[INFO] [stdout]    --> src/bin/Arc.rs:339:15
[INFO] [stdout]     |
[INFO] [stdout] 339 |         Arc { ptr: self.ptr }
[INFO] [stdout]     |               ^^^ `Arc<_>` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `weak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/Arc.rs:346:12
[INFO] [stdout]     |
[INFO] [stdout] 346 |         if self
[INFO] [stdout]     |            ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:373:26
[INFO] [stdout]     |
[INFO] [stdout] 373 |         let mut n = self.data().data_ref_count.load(Relaxed);
[INFO] [stdout]     |                          ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:382:24
[INFO] [stdout]     |
[INFO] [stdout] 382 |             match self.data().data_ref_count.compare_exchange_weak(
[INFO] [stdout]     |                        ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0560]: struct `Arc<T>` has no field named `ptr`
[INFO] [stdout]    --> src/bin/Arc.rs:388:44
[INFO] [stdout]     |
[INFO] [stdout] 388 |                 Ok(_) => return Some(Arc { ptr: self.ptr }),
[INFO] [stdout]     |                                            ^^^ `Arc<_>` does not have this field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `weak`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:398:14
[INFO] [stdout]     |
[INFO] [stdout] 398 |             .data()
[INFO] [stdout]     |              ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/bin/Arc.rs:413:14
[INFO] [stdout]     |
[INFO] [stdout] 413 |             .data()
[INFO] [stdout]     |              ^^^^ multiple `data` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: candidate #2 is defined in an impl for the type `Weak<T>`
[INFO] [stdout]    --> src/bin/Arc.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     fn data(&self) -> &ArcData<T> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0034, E0119, E0252, E0282, E0308, E0428, E0560, E0592, E0601.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0034`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ljs` (bin "Arc") due to 47 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "813f69314352eaaf7f8aa6f888177cf1b6f05db866c600b9c3bca481695ae5fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "813f69314352eaaf7f8aa6f888177cf1b6f05db866c600b9c3bca481695ae5fc", kill_on_drop: false }`
[INFO] [stdout] 813f69314352eaaf7f8aa6f888177cf1b6f05db866c600b9c3bca481695ae5fc
